草庐IT

php - 为什么我的 PHP exec() 在 bash tidy 命令上无法打开文件?

请耐心等待(我只是在学习如何使用php)。我不知道我的tidy错误是与不正确的wget命令有关还是与错误本身有关。我以为我的wget命令正在抓取远程文件并将其放入我服务器上的$link目录中……但似乎有些不对劲。我试过了将$tidy_cmd更改为单引号将行连接到"..."。$html目录。"/*";不包括“/*”使用phptidy命令(注释掉...失败)。错误:Error:Can'topen"app/HtmlPages/arl.server.com-2015_11_19_15:36:09/arl.server.com/index.php/art"wget.php:$ip=$argv[1

php - 为什么 PHP 挂起,当 bash 调用 fork 时

我正在从php调用一些bash代码,但即使我forkbash(使用&),php也不会在完整的bash完成之前完成。这段代码:HTMLSTARTHTMLEND将不会在浏览器中显示任何内容,beforeafter30秒。我真正想要的是从php启动一个GUI应用程序,它应该继续运行。 最佳答案 关闭sleep调用中的所有文件描述符以允许它分离:否则,输出文件描述符仍处于打开状态,并且PHP仍在尝试等待接收其输出,即使进程不再直接附加也是如此。这在运行时工作正常,立即退出但留下一个sleep过程:$timephp5test.php;psau

php - 在 PHP 中运行 bash 脚本导致语法错误

我可以使用以下bash脚本同时启动多个终端:foriin0123;dourxvt-nameTerminal$i&;done但是如果我尝试从PHP脚本运行那个bash脚本,如果失败并出现错误:sh:-c:line0:syntaxerrornearunexpectedtoken`;'sh:-c:line0:`foriin0123;dourxvt-nameTerminal$i&;done'PHP脚本:这也失败了:没有'&'不会发生错误,但我想在后台启动。转义“&”会导致urxvt的无效参数错误。有什么想法吗?? 最佳答案 去掉;,&是命令

php - 从外部 bash 设置环境变量

我尝试使用PHP(从命令行)设置bash环境变量,但没有成功。$buff=array();$buff[]="VARTESTKEY=VARTESTVALUE";$buff[]="exportVARTESTKEY";file_put_contents('script.sh',implode("\n",$buff));system('sourcescript.sh');我什至尝试过使用脚本输出被评估的键值:$buff=array();$buff[]="echoVARTESTKEY=VARTESTVALUE";file_put_contents('script.sh',implode("\n"

php - 如何从 php 传递参数调用 bash 脚本

我有一个执行bash脚本的php脚本。我尝试像这样传递参数:$script="/opt/lampp/htdocs/adapt.sh"$file="/opt/lampp/htdocs/videos/video1.mp4"$prefix="Test"exec('.$script.''.$file.''.$prefix.');怎么了?如何传递参数? 最佳答案 你的点错了,应该读作:exec($script.''.$file.''.$prefix);或更具可读性exec("$script$file$prefix");

php - 从 php 执行 bash 脚本并即时输出回网页

我有一组bash和Perl脚本来开发在linuxbox上部署所需的目录结构(可选)从svn导出代码从这个源构建一个包这在终端上运行良好。现在,我的客户请求此过程的Web界面。例如,某个页面上的“创建新包”按钮将一个接一个地调用上述步骤,并将输出作为脚本回显返回给用户,而不是在整个脚本执行时。是否可以将bash脚本的即时输出发送到通过程序执行函数(系统、exec、passthru...或任何其他适合此流程的其他东西)调用它的网页或php脚本?优雅为什么要这样做?在做这样的事情时我应该采取哪些安全预防措施(如果可能)?编辑经过一番搜索,我找到了部分解决方案,但仍然无法正常工作:$cmd='

PHP 和 bash 返回不同的哈希结果

尝试使用bash命令和PHP的hash()函数生成散列时,我得到了不同的结果。我查看了之前的问题,最常见的问题是字符串中隐藏了换行符或其他一些字符,但是我在实际字符串而不是文件上运行这些函数,所以这不是问题所在。例如:bash:md5sum:b1946ac92492d2347c6235b4d2611184sha256sum:5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03PHP的hash()函数:hash('md5','hello'):9dd4e461268c8034f5c8564e155c67a6hash

php - 使用 PHP 从 bash 脚本获取返回值

如何使用PHP执行shell文件?我有一个名为sync.sh的文件,那么如何在php中运行该文件以及执行完成后如何获取响应?我认为shell_exec()将有助于触发文件,但我如何才能得到脚本是否正确完成任务的响应? 最佳答案 看看exec()功能。您可以传入一个return_var,它将保存shell脚本的退出代码。$out=array();$status=-1;exec('/path/to/sync.sh',$out,$status);if($status!=0){//shellscriptindicatedanerrorret

PHP 加密数据,Bash 解密

我正在尝试想出一种让PHP加密文件的方法。我过去只使用PHP系统调用来运行对文件进行编码的脚本:#!/bin/sh/usr/bin/opensslaes-256-cbc-a-salt-k$1-in$2参数1是要使用的密码,参数2是数据。然后,我在计算机上使用第二个脚本来解密该文件。#!/bin/sh/usr/bin/opensslaes-256-cbc-a-d-salt-k$1-in$2由于禁用了PHP系统调用,因此这种加密方法在生产主机上不起作用。如果可能的话,我也不希望更改解码功能。有没有办法仅使用PHP复制上述加密函数? 最佳答案

php - Cron 执行的 Bash 脚本中的 PHP 脚本序列未运行

我有四个PHP脚本,它们执行需要按顺序执行的各种任务。与其为每个PHP脚本创建一个cron条目,我想我会更聪明并将其包装为Bash脚本,如下所示:#!/bin/bash#setnotificationemail.NOTIFYEMAIL="webmaster@example.com"#setPHPpath.PHP="$(whichphp)"#setfolderpath.FOLDER="/var/www/example.com/processors/"#listofscripts.SCRIPTS=("script_1""script_2""script_3""script_4")#exec